#pragma warning disable 108
using System;
using System.Runtime.InteropServices;
using System.Collections.Generic;
using Cephei;
using Cephei.Generic;
using Cephei.QL.Times;
namespace Cephei.QL.Times.Daycounters
{
     // <summary> 
	// ! The 30/360 day count can be calculated according to US, European, or Italian conventions.  US (NASD) convention: if the starting date is the 31st of a month, it becomes equal to the 30th of the same month. If the ending date is the 31st of a month and the starting date is earlier than the 30th of a month, the ending date becomes equal to the 1st of the next month, otherwise the ending date becomes equal to the 30th of the same month. Also known as "30/360", "360/360", or "Bond Basis"  European convention: starting dates or ending dates that occur on the 31st of a month become equal to the 30th of the same month. Also known as "30E/360", or "Eurobond Basis"  Italian convention: starting dates or ending dates that occur on February and are grater than 27 become equal to 30 for computational sake.  \ingroup daycounters
	// </summary>
    [Guid ("B9895E97-43A3-4300-A3F9-1528DEF4DC22"),ComVisible(true)]
	public interface IThirty360 : Cephei.QL.Times.IDayCounter
	{
		///////////////////////////////////////////////////////////////
        // Methods
        //
    }

    // <summary> 
	// ! The 30/360 day count can be calculated according to US, European, or Italian conventions.  US (NASD) convention: if the starting date is the 31st of a month, it becomes equal to the 30th of the same month. If the ending date is the 31st of a month and the starting date is earlier than the 30th of a month, the ending date becomes equal to the 1st of the next month, otherwise the ending date becomes equal to the 30th of the same month. Also known as "30/360", "360/360", or "Bond Basis"  European convention: starting dates or ending dates that occur on the 31st of a month become equal to the 30th of the same month. Also known as "30E/360", or "Eurobond Basis"  Italian convention: starting dates or ending dates that occur on February and are grater than 27 become equal to 30 for computational sake.  \ingroup daycounters Factory
	// </summary>
   	[ComVisible(true)]
    public interface IThirty360_Factory // : Collection_Factory<IThirty360, ICell<IThirty360>>
    {
        ///////////////////////////////////////////////////////////////
        // Factory methods
        //
        
	    IThirty360 Create (Microsoft.FSharp.Core.FSharpOption<QL.Times.Daycounters.Thirty360.ConventionEnum> c);
    }
}

